iT邦幫忙

2022 iThome 鐵人賽

0
自我挑戰組

冒牌工程師上學去系列 第 33

2-10 短期排班演算法

  • 分享至 

  • xImage
  •  

不知道什麼是短期排班演算法建議可以先看看上一篇2-9 行程

短期排班名詞介紹

  • Throughput 吞吐量:單位時間工作完成量
  • Waiting Time:process 在ready queue等待的時間(到達->開始執行時間)
  • Turnaround Time:process從交付到完成的時間(到達->完成執行時間)

針對短期排班從ReadyQueue挑出process獲得CPU服務的演算方法如下

First In First Out

先進先出,過程中不可搶其他process資源,就像你(process)在711排隊一樣先排的先結帳(獲得CPU服務)然後不可以搶其他人手上要結帳的東西(其他process資源)
以下為計算例子,求Average Waiting Time 和 Average Turnaround Time:

https://ithelp.ithome.com.tw/upload/images/20221016/20141684eja14M2CiJ.png

Shortest Job First

所需的CPU時間越短,越先獲得CPU服務,不可搶其他process資源

https://ithelp.ithome.com.tw/upload/images/20221017/20141684tGvldMltQ2.png

Shortest Remaining Job First

所需的CPU時間越短,越先獲得CPU服務,可搶其他process資源

  • P1走完2之後,P2/3進來,因為P3花費時間較短所以可以優先拿到CPU,P1就要等
  • P2走完之後P3比P1剩下的短,所以還是先讓給P3
  • 最後讓P1走完剩下的
    https://ithelp.ithome.com.tw/upload/images/20221017/20141684NwGbMPTiFB.png

優先權排班

priority越高者,越先獲得CPU服務,priority相同採FIFO,SJF其實就是優先權排班演算法的特例。一旦採用優先權,就有可能會發生starvation,所以優先權排班有使用Aging Technique老化技術(避免process長期或無限期無法取得CPU服務,等越久Priority會提高)

說明:

  • 若採用 Arrive time 越短, Priority 越高 => FIFO
  • 若採用 CPU Burst time 越短, Priority 越高 => SJF

Round-Robin (R.R)

指輪流給各process一固定時間,時間到就得將CPU交由下一個process執行(可搶其他process資源)
https://ithelp.ithome.com.tw/upload/images/20221017/20141684l60H9dbR8U.png
https://ithelp.ithome.com.tw/upload/images/20221017/20141684wMmbWnTcBa.png

優缺比較

# FIFO SJF SRJF 優先權 RR
No starvation,較公平 效益最佳,不會有convoy effect A.W.T & A.T.T 最短 可讓緊急事件優先處理 適合分時系統,較公平
convoy effect 可能有starvation context switch較多,可能有starvation 可能有starvation(用aging技術解) context switch較多

註:

  • starvation 飢餓:指有可能有process長期或無限期無法取得CPU服務
  • convoy effect 護衛效應:多個process在wait一個需長時間執行之process
  • context switch:當process被迫放棄CPU,OS會將目前procress的狀態保存,並載入新的Process Control Block(存放和procress相關的所有資訊)

以下參考連結在學習過程中覺得非常有幫助:
-台大線上課程
-Chapter3-作業系統-行程-part2
-作業系統


上一篇
2-9 行程
下一篇
2-11 執行緒Thread+死結Deadlock
系列文
冒牌工程師上學去42
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言